package com.qj.yantaishan.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qj.yantaishan.common.annotation.Excel;
import com.qj.yantaishan.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 商品分类对象 shanglala_product_category
 *
 * @author qihe
 * @date 2022-07-22
 */
@Data
public class ProductCategory  {
    private static final long serialVersionUID = 1L;

    /**
     * 分类id
     */
    @TableId(type = IdType.AUTO)
    private Integer catId;

    /**
     * 分类名称
     */
    @Excel(name = "分类名称")
    private String catName;

    /**
     * 描述
     */
    @Excel(name = "描述")
    private String catDesc;

    /**
     * 父类id
     */
    @Excel(name = "父类id")
    private Integer catFid;

    /**
     * wap端栏目图片
     */
    @Excel(name = "wap端栏目图片")
    private String catPic;

    /**
     * pc端栏目图片
     */
    @Excel(name = "pc端栏目图片")
    private String catPcPic;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String catWapBanner;

    /**
     * 一元夺宝电脑端图标
     */
    @Excel(name = "一元夺宝电脑端图标")
    private String catIndianaPic;

    /**
     * 夺宝分类首页展示用图片
     */
    @Excel(name = "夺宝分类首页展示用图片")
    private String catIndianaAdver;
    /**
     * 分类下的商品数量
     */
    @TableField(exist = false)
    private Integer productCount;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private Integer catStatus;

    /**
     * 微信端显示状态
     */
    @Excel(name = "微信端显示状态")
    private Integer wxCatStatus;

    /**
     * 排序，值越大优前
     */
    @Excel(name = "排序，值越大优前")
    private Integer catSort;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String catPath;

    /**
     * 级别
     */
    @Excel(name = "级别")
    private Integer catLevel;

    /**
     * 拥有的属性id 用,号分割
     */
    @Excel(name = "拥有的属性id 用,号分割")
    private String filterAttr;

    /**
     * tag列表，每个tag_id之间用逗号分割
     */
    @Excel(name = "tag列表，每个tag_id之间用逗号分割")
    private String tagStr;

    /**
     * 父类状态
     */
    @Excel(name = "父类状态")
    private Integer catParentStatus;

    /**
     * 广告图片
     */
    @Excel(name = "广告图片")
    private String adImage;

    /**
     * 广告链接
     */
    @Excel(name = "广告链接")
    private String adUrl;

    /**
     * 1用油推荐
     */
    @Excel(name = "1用油推荐")
    private Integer specialType;

    /**
     * 行业分类编码 默认为0， 103 旅游分销
     */
    @Excel(name = "行业分类编码 默认为0， 103 旅游分销 ")
    private Integer industryCategory;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String classId;

    /**
     * 0 公用
     */
    @Excel(name = "0 公用")
    private Integer storeId;

    /**
     * 代理商id
     */
    @Excel(name = "代理商id")
    private String agentId;

    /**
     * 子分类
     */
    @TableField(exist = false)
    private List<ProductCategory> childCategory;

    public void setCatId(Integer catId) {
        this.catId = catId;
    }

    public Integer getCatId() {
        return catId;
    }

    public void setCatName(String catName) {
        this.catName = catName;
    }

    public String getCatName() {
        return catName;
    }

    public void setCatDesc(String catDesc) {
        this.catDesc = catDesc;
    }

    public String getCatDesc() {
        return catDesc;
    }

    public void setCatFid(Integer catFid) {
        this.catFid = catFid;
    }

    public Integer getCatFid() {
        return catFid;
    }

    public void setCatPic(String catPic) {
        this.catPic = catPic;
    }

    public String getCatPic() {
        return catPic;
    }

    public void setCatPcPic(String catPcPic) {
        this.catPcPic = catPcPic;
    }

    public String getCatPcPic() {
        return catPcPic;
    }

    public void setCatWapBanner(String catWapBanner) {
        this.catWapBanner = catWapBanner;
    }

    public String getCatWapBanner() {
        return catWapBanner;
    }

    public void setCatIndianaPic(String catIndianaPic) {
        this.catIndianaPic = catIndianaPic;
    }

    public String getCatIndianaPic() {
        return catIndianaPic;
    }

    public void setCatIndianaAdver(String catIndianaAdver) {
        this.catIndianaAdver = catIndianaAdver;
    }

    public String getCatIndianaAdver() {
        return catIndianaAdver;
    }

    public void setCatStatus(Integer catStatus) {
        this.catStatus = catStatus;
    }

    public Integer getCatStatus() {
        return catStatus;
    }

    public void setWxCatStatus(Integer wxCatStatus) {
        this.wxCatStatus = wxCatStatus;
    }

    public Integer getWxCatStatus() {
        return wxCatStatus;
    }

    public void setCatSort(Integer catSort) {
        this.catSort = catSort;
    }

    public Integer getCatSort() {
        return catSort;
    }

    public void setCatPath(String catPath) {
        this.catPath = catPath;
    }

    public String getCatPath() {
        return catPath;
    }

    public void setCatLevel(Integer catLevel) {
        this.catLevel = catLevel;
    }

    public Integer getCatLevel() {
        return catLevel;
    }

    public void setFilterAttr(String filterAttr) {
        this.filterAttr = filterAttr;
    }

    public String getFilterAttr() {
        return filterAttr;
    }

    public void setTagStr(String tagStr) {
        this.tagStr = tagStr;
    }

    public String getTagStr() {
        return tagStr;
    }

    public void setCatParentStatus(Integer catParentStatus) {
        this.catParentStatus = catParentStatus;
    }

    public Integer getCatParentStatus() {
        return catParentStatus;
    }

    public void setAdImage(String adImage) {
        this.adImage = adImage;
    }

    public String getAdImage() {
        return adImage;
    }

    public void setAdUrl(String adUrl) {
        this.adUrl = adUrl;
    }

    public String getAdUrl() {
        return adUrl;
    }

    public void setSpecialType(Integer specialType) {
        this.specialType = specialType;
    }

    public Integer getSpecialType() {
        return specialType;
    }

    public void setIndustryCategory(Integer industryCategory) {
        this.industryCategory = industryCategory;
    }

    public Integer getIndustryCategory() {
        return industryCategory;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    public String getClassId() {
        return classId;
    }

    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    public Integer getStoreId() {
        return storeId;
    }

    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public String getAgentId() {
        return agentId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("catId", getCatId())
                .append("catName", getCatName())
                .append("catDesc", getCatDesc())
                .append("catFid", getCatFid())
                .append("catPic", getCatPic())
                .append("catPcPic", getCatPcPic())
                .append("catWapBanner", getCatWapBanner())
                .append("catIndianaPic", getCatIndianaPic())
                .append("catIndianaAdver", getCatIndianaAdver())
                .append("catStatus", getCatStatus())
                .append("wxCatStatus", getWxCatStatus())
                .append("catSort", getCatSort())
                .append("catPath", getCatPath())
                .append("catLevel", getCatLevel())
                .append("filterAttr", getFilterAttr())
                .append("tagStr", getTagStr())
                .append("catParentStatus", getCatParentStatus())
                .append("adImage", getAdImage())
                .append("adUrl", getAdUrl())
                .append("specialType", getSpecialType())
                .append("industryCategory", getIndustryCategory())
                .append("classId", getClassId())
                .append("storeId", getStoreId())
                .append("agentId", getAgentId())
                .toString();
    }
}
